package com.net.oil.message.contract;

import com.net.oil.base.IBaseModel;
import com.net.oil.message.bean.MessageBean;

/**
 * 作者：lch
 * 时间：2018/4/13 0013:下午 15:57
 * 邮箱：245850413@qq.com
 * 说明：
 */

public interface MessageContract {
    interface Model extends IBaseModel{
        /**
         * 获取消息列表
         * @param page  当前页
         * @param pageSize  分页大小
         */
        void getMessageList(int page, int pageSize);

        /**
         * 删除通知消息
         * @param id    消息id
         */
        void deleteMessage(int id);
    }

    interface View {

        /**
         * 获取消息成功
         * @param messageBean   消息数据
         */
        void getMessageListSuccess(MessageBean messageBean);

        /**
         * 获取消息失败
         */
        void getMessageListFailed();

        /**
         * 删除消息成功
         */
        void deleteMessageSuccess();

        /**
         * 删除消息失败
         */
        void deleteMessageFailed();
    }

    interface Presenter {
        /**
         * 获取消息列表
         * @param page  当前页
         * @param pageSize  分页大小
         */
        void getMessageList(int page, int pageSize);

        /**
         * 获取消息成功
         * @param messageBean   消息数据
         */
        void getMessageListSuccess(MessageBean messageBean);

        /**
         * 获取消息失败
         */
        void getMessageListFailed();

        /**
         * 删除通知消息
         * @param id    消息id
         */
        void deleteMessage(int id);

        /**
         * 删除消息成功
         */
        void deleteMessageSuccess();

        /**
         * 删除消息失败
         */
        void deleteMessageFailed();
    }
}
